package com.bajiao.entity.user;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 用户
 * @Author: FanJq
 * @Date:   2024-12-31
 * @Version: V1.0
 */
@Data
@TableName("user")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="user对象", description="用户")
public class User {

	/**ID*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "ID")
	private String id;
	/**用户昵称*/
	@Excel(name = "用户昵称", width = 15)
    @ApiModelProperty(value = "用户昵称")
	private String nickname;
	/**密码*/
	@Excel(name = "密码", width = 15)
    @ApiModelProperty(value = "密码")
	private String password;
	/**密码盐*/
	@Excel(name = "密码盐", width = 15)
    @ApiModelProperty(value = "密码盐")
	private String salt;
	/**头像*/
	@Excel(name = "头像", width = 15)
    @ApiModelProperty(value = "头像")
	private String avatar;
	/**手机号*/
	@Excel(name = "手机号", width = 15)
    @ApiModelProperty(value = "手机号")
	private String mobile;
	/**加密手机号*/
	@Excel(name = "加密手机号", width = 15)
    @ApiModelProperty(value = "加密手机号")
	private String mobileEncrypt;
	/**性别（1-男 2-女）*/
	@Excel(name = "性别（1-男 2-女）", width = 15)
    @ApiModelProperty(value = "性别（1-男 2-女）")
	private Integer sex;
	/**年龄*/
	@Excel(name = "年龄", width = 15)
	@ApiModelProperty(value = "年龄")
	private String age;
	/**邀请码*/
	@Excel(name = "邀请码", width = 15)
    @ApiModelProperty(value = "邀请码")
	private String inviteCode;
	@ApiModelProperty(value = "上级id")
	private String superId;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**更新时间*/
	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
	private Date updateTime;
	/**删除状态（0-正常 1-已删除）*/
	@Excel(name = "删除状态（0-正常 1-已删除）", width = 15)
    @ApiModelProperty(value = "删除状态（0-正常 1-已删除）")
	private Integer delFlag;

	@ApiModelProperty(value = "兴趣")
	private String interest;
	@ApiModelProperty(value = "微信openId")
	private String openId;
	@ApiModelProperty(value = "微信unionId")
	private String unionId;
}
